import json

class ConfigJson:

    def __init__(self, path:str):
        '参数：配置文件路径'
        self.path = path # 设置路径位置

        self.update()

    def get(self, parameter:str, original:bool = False):
        '读取配置文件中的数据\n参数：参数名（套娃参数用“.”隔开），是否使用原始数据'
        # 辨析是否使用原始数据以防需要使用动态数据
        if original == True: # 使用原始数据
            with open(self.path, 'r') as file:
                config = json.loads(file.read())
        else: # 使用暂存的数据
            config = self.config

        parameter = parameter.split('.') # 将参数名处理
        variable = 'config'
        for i in parameter:
            variable += '[\''+i+'\']'

        try:
            variable = eval(variable) # 读取参数对应的变量
            return variable
        except:
            return False

    def update(self):
        '更新整个临时的列表'
        with open(self.path, 'r') as file: # 读取配置文件
            self.config = json.loads(file.read()) # 存放JSON转换成的字典